package com.ft.turorial.spring.boot.controller;

import java.util.Date;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.EnvironmentAware;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;

import com.ft.turorial.spring.boot.vo.DataSourceProperties;

@Controller
public class HelloController implements EnvironmentAware{
	
	@Autowired
	private DataSourceProperties prop;
	
	// 从 application.properties 中读取配置，如取不到默认值为Hello Shanhy
	//@Value("${application.hell:Hello Shanhy}")
	private String hello = "Hello Shanhy";
	private String JAVA_HOME = "";
	/**
     * 默认页<br/>
     * @RequestMapping("/") 和 @RequestMapping 是有区别的
     * 如果不写参数，则为全局默认页，加入输入404页面，也会自动访问到这个页面。
     * 如果加了参数“/”，则只认为是根页面。
     *
     * @return
     * @author ft
     * @create  2016年1月5日
     */
    @RequestMapping(value = {"/","/index"})
    public String index(ModelMap map){
        // 直接返回字符串，框架默认会去 spring.view.prefix 目录下的 （index拼接spring.view.suffix）页面
        // 本例为 /src/main/resources/templates/index.html
    	map.addAttribute("time", new Date());
    	map.addAttribute("message", this.hello);
    	map.addAttribute("JAVA_HOME", this.JAVA_HOME);
    	map.addAttribute("prop", prop);
    	System.out.println(prop.toString());
        return "index";
    }
    @Override
    public void setEnvironment(Environment environment) {
        JAVA_HOME = environment.getProperty("JAVA_HOME");
        System.out.println(JAVA_HOME);
    }
}
